# 导入 pymilvus 连接模块
from pymilvus import connections, FieldSchema, DataType, CollectionSchema, Collection
import random

# 连接到 Milvus 服务器（本地或远程）
# 使用默认连接别名，连接到本地主机的19530端口，数据库名为rensheng
connections.connect("default", host="42.194.164.248", port="19530", db_name="rensheng")

fields = [
    FieldSchema(name="id", dtype=DataType.INT64, is_primary=True, auto_id=True),
    FieldSchema(name="embedding", dtype=DataType.FLOAT_VECTOR, dim=128),
]

schema = CollectionSchema(fields=fields, description="Example collection schema")
# 获取已存在的集合
collection_name = "example_collection"

try:
    # 尝试获取已存在的集合
    collection = Collection(collection_name)
    print(f"Collection '{collection_name}' created.")
except Exception as e:
    # 如果集合不存在，则创建新集合
    collection = Collection(collection_name, schema)
    print(f"Collection '{collection_name}' 创建成功.")

# 生成随机向量数据
# 创建 1000 个向量，每个向量包含 128 个随机浮点数
vectors = [[random.random() for _ in range(128)] for _ in range(1000)]
# 将向量数据组织成插入格式
data = [vectors]

# 插入数据
# 将数据插入到集合中，并获取插入结果
mr = collection.insert(data)
# 打印实际插入的向量数量
print("插入向量数量：", mr.insert_count)
